package com.yanqu.road.entity.activity.shushan;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.DataStatus;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description
 * @Author cwq
 * @Data 2022/3/15 20:41
 */
@FieldTypeAnnotation(tableName = "t_u_activity_shushan_lilian_grid_data")
public class ShuShanLiLianGridData extends DataObject {
    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "用户ID", select = true, update = true)
    private long userId;
    @FieldTypeAnnotation(desc = "格子id", select = true, update = true)
    private int gridId;
    @FieldTypeAnnotation(desc = "当前派遣的弟子id")
    private int curDiscipleId;
    @FieldTypeAnnotation(desc = "已经完成的进度")
    private int lastFinishId;
    @FieldTypeAnnotation(desc = "上一个弟子被入世后 剩余的时间")
    private int remainTime;
    @FieldTypeAnnotation(desc = "该遭遇的结束时间  (如果未满足条件则为0)")
    private int endTime;
    @FieldTypeAnnotation(desc = "已领取到的进度id  (格子类型为 2时，已领取=1 未领取=0)")
    private int receivedId;
    @FieldTypeAnnotation(desc = "遭遇记录")
    private List<ShuShanLiLianRecordInfo> recordInfoList = new ArrayList<>();

    public int getActivityId() {
        return activityId;
    }
    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public long getUserId() {
        return userId;
    }
    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setOp(DataStatus.Update);
        }
    }

    public int getGridId() {
        return gridId;
    }
    public void setGridId(int gridId) {
        if (this.gridId != gridId) {
            this.gridId = gridId;
            setOp(DataStatus.Update);
        }
    }

    public int getCurDiscipleId() {
        return curDiscipleId;
    }
    public void setCurDiscipleId(int curDiscipleId) {
        if (this.curDiscipleId != curDiscipleId) {
            this.curDiscipleId = curDiscipleId;
            setOp(DataStatus.Update);
        }
    }

    public int getLastFinishId() {
        return lastFinishId;
    }
    public void setLastFinishId(int lastFinishId) {
        if (this.lastFinishId != lastFinishId) {
            this.lastFinishId = lastFinishId;
            setOp(DataStatus.Update);
        }
    }

    public int getRemainTime() {
        return remainTime;
    }
    public void setRemainTime(int remainTime) {
        if (this.remainTime != remainTime) {
            this.remainTime = remainTime;
            setOp(DataStatus.Update);
        }
    }

    public int getEndTime() {
        return endTime;
    }
    public void setEndTime(int endTime) {
        if (this.endTime != endTime) {
            this.endTime = endTime;
            setOp(DataStatus.Update);
        }
    }

    public int getReceivedId() {
        return receivedId;
    }
    public void setReceivedId(int receivedId) {
        if (this.receivedId != receivedId) {
            this.receivedId = receivedId;
            setOp(DataStatus.Update);
        }
    }

    public java.util.List<com.yanqu.road.entity.activity.shushan.ShuShanLiLianRecordInfo> getRecordInfoList() {
        return recordInfoList;
    }
    public void setRecordInfoList(java.util.List<com.yanqu.road.entity.activity.shushan.ShuShanLiLianRecordInfo> recordInfoList) {
        if (null == recordInfoList){
            return;
        }
        if (this.recordInfoList == null || !this.recordInfoList.equals(recordInfoList)) {
            this.recordInfoList = recordInfoList;
            setOp(DataStatus.Update);
        }
    }
}
